package com.ruibang.glass.material.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.teaming.cloud.framework2.common.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 物料管理表
 * </p>
 *
 * @author mameng
 * @since 2024-03-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(description = "物料管理表")
@TableName("g_material_management")
public class MaterialManagement extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "物料编码，用于唯一标识物料")
    private String materialCode;

    @ApiModelProperty(value = "物品的名称")
    private String itemName;

    @ApiModelProperty(value = "条形码，用于扫描识别物品")
    private String barcode;

    @ApiModelProperty(value = "物品计量单位")
    private String unit;

    @ApiModelProperty(value = "数量")
    private Integer quality;

    @ApiModelProperty(value = "物品的规格和型号信息")
    private String specificationModel;

    @ApiModelProperty(value = "物品所需存放的仓库")
    private String requiredWarehouse;

    @ApiModelProperty(value = "仓库Id")
    private String requiredWarehouseId;

    @ApiModelProperty(value = "物品所属的单位")
    private String affiliatedUnit;

    @ApiModelProperty(value = "物品的类型或分类")
    private String itemType;

    @ApiModelProperty(value = "供应商")
    private String applyUser;

    @ApiModelProperty(value = "物品的呆滞期，即多久未使用视为呆滞")
    private Integer stalePeriod;

    @ApiModelProperty(value = "物品所需存放的仓库")
    private String warehouseCode;

    @ApiModelProperty(value = "物品所需存放的仓库ID")
    @TableField(exist = false)
    private String warehouseId;

    @ApiModelProperty(value = "物品所需存放的仓库名称")
    @TableField(exist = false)
    private String warehouseName;

    @ApiModelProperty(value = "物料批次号")
    @TableField(exist = false)
    private List<String> batchNumber;

}
